1. Technical Field
This invention generally relates to web pages and more specifically relates to a web server apparatus and method that provides information to web clients.
2. Background Art
Since the dawn of the computer age, computer systems have evolved into extremely sophisticated devices, and computer systems may be found in many different settings. The widespread proliferation of computers prompted the development of computer networks that allow computers to communicate with each other. With the introduction of the personal computer (PC), computing became accessible to large numbers of people. Networks for personal computers were developed that allow individual users to communicate with each other.
One significant computer network that has recently become very popular is the Internet. The Internet grew out of this proliferation of computers and networks, and has evolved into a sophisticated worldwide network of computer system resources commonly known as the xe2x80x9cworld-wide-webxe2x80x9d, or WWW. A user at an individual PC or workstation (referred to as a xe2x80x9cweb clientxe2x80x9d) that wishes to access the Internet typically does so using a software application known as a web browser. A web browser makes a connection via the Internet to other computers known as web servers, and receives information from the web servers that is rendered to the web client. One type of information transmitted from a web server to a web client is known as a xe2x80x9cweb pagexe2x80x9d, which is generally formatted using a specialized language called Hypertext Markup Language (HTML). Another type of information transmitted from a web server to a web client is e-mail messages and any files or other information attached to those messages. Yet another type of information transmitted from a web server to a web client is files that may be downloaded from a web site.
Computer viruses have emerged as a very real threat to data in today""s computer systems. Recently, the xe2x80x9cI Love Youxe2x80x9d virus infected computer systems all over the world, and destroyed vast amounts of data, particularly image files. Virus checking application programs are currently available for checking viruses on individual computers. Norton Antivirus and McAfee VirusScan are two examples of commercially-available virus checkers. Known virus checkers run on a single computer system, such as a web server or a web client. These virus checkers typically are run at the user""s request to determine whether there are any viruses on any specified drive or file. In addition, some virus checkers can be configured to automatically check incoming data in a downloaded file before allowing the file to be stored on the computer system. For example, Norton Antivirus allows a user to select an option that checks all downloaded files before passing them on to the user""s computer system. However, all of the known virus checkers operate on one particular computer system, and there is currently no way for a virus checker on one system to check for viruses on a different computer system.
With the growing popularity of the Internet, an ever-increasing number of web clients are connected to web servers. A web server acts as a conduit through which information is passed to numerous web clients. If a virus checker could be implemented on a web server to check all information flowing through it, the need for local virus checking at individual web client workstations would be greatly reduced. Without a way for a web server to check information flowing to web clients for viruses, the current methods for virus checking will continue to allow viruses to spread and cause considerable damage before they can be controlled.
According to the preferred embodiments, a web server computer system includes a virus checker and mechanisms for checking e-mails and their attachments, downloaded files, and web sites for possible viruses. When an e-mail message contains a detected virus, the message is discarded, and both the sender and recipient are informed via e-mail that the message contained a virus. When an e-mail attachment contains a detected virus, the attachment is deleted, and the e-mail message without the attachment is sent to the web client, along with a message explaining that the e-mail message had an attachment that was automatically deleted because it had a virus. When a downloaded file contains a virus, the downloaded file is deleted, and an error message is sent to the web client to inform the web client that the requested file had a virus. When a requested web site (i. e., Uniform Resource Locator (or URL)) has been labeled as a source for a known virus, a message is sent to the web client stating that a virus may have been downloaded from that URL. In addition, if the requested URL has not been labeled as a source for a known virus, but it contains links that have been so labeled, the web page is processed before being sent to the user to identify those potentially dangerous links. In this manner a web server can perform virus checking of different types of information real-time as the information is requested by a web client. In addition, a web client may also request that the server perform virus checking on a particular drive on the web client. In this case, the web server may receive information from the web client drive, scan the information for viruses, and inform the web client whether any viruses were found. In the alternative, the web server may download a client virus checker to the web client and cause the client virus checker to be run on the web client. The preferred embodiments thus allow a virus checker on a web server to dynamically scan incoming data, and to scan web clients coupled to the web server, thereby eliminating the need for virus checking software to be installed on each web client.
The preferred embodiments also provide a virus information database that allows sharing information relating to viruses with other web servers and with appropriate authorities, such as law enforcement agencies. A user feedback feature also allows a client to inform the web server of information regarding a new virus. Another feature of the preferred embodiments is that senders of viruses are notified when the web server detects a virus, thus helping to inhibit the proliferation of the virus.
The foregoing and other features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings.